The invention relates to the field of data storage management, and more particularly to the provision of storage resources as a service.
The demand for the automated management of an IT infrastructure, in particular the management and provision of storage space has been constantly growing. The provision of storage space to a plurality of clients is typically based on a contract comprising a so called “service level agreement” (SLA) specifying the level of service a storage provider has agreed to provide to the respective client. Service level agreements can contain numerous storage capacity and/or storage performance metrics which may be expressed in the form of service-level objectives (SLOs). Technically, storage capacity may be provided by various forms of IT services, e.g. by means of a cloud computing environment or other service based delivery models. An example of a cloud server environment being operable to perform data storage operations supporting a variety of clients that may connect of the system is disclosed in WO 2011/002777 A2. Another example of a storage infrastructure is described in US 2009/0182777 A1. The described storage infrastructure ensures that customer data is stored on appropriate storage components satisfying a set of SLO policies.
Current IT-systems used by service providers to offer and provide storage capacity to their clients are inflexible. In case the service provider offers multiple different service levels corresponding to different sets of SLOs to the clients, each of said service levels is tightly coupled to a particular set of storage resources being operable to provide their respective storage capacity in accordance with their respectively assigned service level and SLOs. For example, hard discs or storage pools with very short response times (which tend to be expensive) may be assigned to a high-quality (and more expensive) service level while slow storage resources, e.g. tape drives, may be assigned to a service level suited for doing back-up jobs. Said assignment is based on a direct mapping of parameters required by the respective proprietary Application Programming Interfaces (APIs) of the storage resources to the service level provided. Often, said mapping is specified within compiled code sections of the storage management system. Adding or removing storage resources to the storage management system or reassigning a storage resource to another service level requires a manual modification and maybe even recompilation of elements of the service management infrastructure. Due to the plurality of storage models, storage types, storage vendors and other factors from which an API providing access to a given storage resource may depend, the configuration and assignment of the storage resources to different service levels is a time consuming task in state of the art storage management systems, resulting in inflexible systems being difficult to maintain and operate.
Some other state of the art systems allow the clients to directly query and access the storage resources. However, said approach does not increase the flexibility of storage resource assignment, but merely shifts the problems associated with maintaining an association of service levels to proprietary storage resource APIs from the service provider to the client.
The inflexible assignment of storage resources to service levels further bears the problem that multiple requests for the same storage service might cause bottlenecks and available storage capacity may not be optimally used.